import { setupDirective } from '@/directive'
import { setupI18n } from '@/lang'
import { setupRouter } from '@/router'
import { setupStore } from '@/store'
import type { App } from 'vue'
import { setupElIcons } from './icons'
import { setupPermission } from './permission'

export default {
    install(app: App<Element>) {
        // 自定义指令(directive)
        setupDirective(app)
        // 路由(router)
        setupRouter(app)
        // 状态管理(store)
        setupStore(app)
        // 国际化
        setupI18n(app)
        // Element-plus图标
        setupElIcons(app)
        // 路由守卫
        setupPermission()
    }
}
